/***********************************************************************************************************************
 * ############################################# Application AdewebLite #############################################
 * AdewebLite Android est une application permettant de consulter des emplois du temps fournis par l'université UHP
 * avec ou sans connexion internet (informations gardées en mémoire à chaque synchronisation). Et utilisant la web
 * API ADE pour collecter les données.
 * @author Andrianjafintrimo Victor, Zanette Sébastien
 * 
 * Basée sur l'application du même nom, utilisant le flux RSS (données à traiter), de :
 * @author Schnell Michaël, Zanette Sébastien
 * **********************************************************************************************************************
 */

package ade.prime.database;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;

/**
 *
 * @author Zanette Sébastien
 * @author Andrianjafintrimo Victor
 */
public class CreateDatabases extends SQLiteOpenHelper 
implements DatabaseConstants {
	
	/**
	 * Nouvelle instance, servant à créer ou initialiser la base de données.
	 * @param context contexte
	 * @param name nom de la base de données
	 * @param factory null
	 * @param version numérode version de la base de données
	 */
	public CreateDatabases(Context context, String name, CursorFactory factory, 
			int version) {
		super(context, name, factory, version) ;
	}// CreateDatabases(Context, String, CursorFactory, int)

	/**
	 * Crée toutes les tables nécéssaires au fonctionnement de l'application.
	 * 
	 * @param 	db
	 * 			type de base de données
	 */
	@Override
	public void onCreate(SQLiteDatabase db) {
		for(SQLTable table : ALL_TABLES) {
			db.execSQL(table.getCreateTableSQL()) ;
		}// for
	}// onCreate(SQLiteDatabase)

	/**
	 * Met à jour la base de données, afin de pouvoir modifier sa structure ultérieurement.
	 * @param db type de base de données
	 * @param oldVersion numéro de l'ancienne version à mettre à jour
	 * @param newVersion numéro de la nouvelle version de la base de données
	 */
	@Override
	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
//		throw new UnsupportedOperationException("Not supported yet."); //$NON-NLS-1$
	}// onUpgrade(SQLiteDatabase, int, int)

}
